type go/types._TypeSet
30 uses
go/types (current package)
check.go#L128: unionTypeSets map[*Union]*_TypeSet // computed type sets for union types
interface.go#L25: tset *_TypeSet // type set described by this interface, computed lazily
interface.go#L29: func (t *Interface) typeSet() *_TypeSet { return computeInterfaceTypeSet(t.check, token.NoPos, t) }
predicates.go#L305: unionSets := make(map[*Union]*_TypeSet)
typeset.go#L26: type _TypeSet struct {
typeset.go#L33: func (s *_TypeSet) IsEmpty() bool { return s.terms.isEmpty() }
typeset.go#L36: func (s *_TypeSet) IsAll() bool { return s.IsMethodSet() && len(s.methods) == 0 }
typeset.go#L39: func (s *_TypeSet) IsMethodSet() bool { return !s.comparable && s.terms.isAll() }
typeset.go#L42: func (s *_TypeSet) IsComparable(seen map[Type]bool) bool {
typeset.go#L52: func (s *_TypeSet) NumMethods() int { return len(s.methods) }
typeset.go#L56: func (s *_TypeSet) Method(i int) *Func { return s.methods[i] }
typeset.go#L59: func (s *_TypeSet) LookupMethod(pkg *Package, name string, foldCase bool) (int, *Func) {
typeset.go#L63: func (s *_TypeSet) String() string {
typeset.go#L102: func (s *_TypeSet) hasTerms() bool { return !s.terms.isEmpty() && !s.terms.isAll() }
typeset.go#L105: func (s1 *_TypeSet) subsetOf(s2 *_TypeSet) bool { return s1.terms.subsetOf(s2.terms) }
typeset.go#L112: func (s *_TypeSet) is(f func(*term) bool) bool {
typeset.go#L128: func (s *_TypeSet) underIs(f func(Type) bool) bool {
typeset.go#L150: var topTypeSet = _TypeSet{terms: allTermlist}
typeset.go#L153: func computeInterfaceTypeSet(check *Checker, pos token.Pos, ityp *Interface) *_TypeSet {
typeset.go#L193: ityp.tset = &_TypeSet{terms: allTermlist} // TODO(gri) is this sufficient?
typeset.go#L195: var unionSets map[*Union]*_TypeSet
typeset.go#L198: check.unionTypeSets = make(map[*Union]*_TypeSet)
typeset.go#L202: unionSets = make(map[*Union]*_TypeSet)
typeset.go#L389: var invalidTypeSet _TypeSet
typeset.go#L393: func computeUnionTypeSet(check *Checker, unionSets map[*Union]*_TypeSet, pos token.Pos, utyp *Union) *_TypeSet {
typeset.go#L399: unionSets[utyp] = new(_TypeSet)
typestring.go#L322: func (w *typeWriter) typeSet(s *_TypeSet) {
universe.go#L115: ityp := &Interface{obj: obj, complete: true, tset: &_TypeSet{nil, allTermlist, true}}